import Vue from 'vue'
import VueRouter from 'vue-router'
import Login from '../components/Login.vue'
import Home from '../components/Home.vue'
import Welcome from '../components/Welcome.vue'
import Users from '../components/user/Users.vue'
import Rights from '../components/power/Rights.vue'
import Roles from '../components/power/Roles.vue'
import Cate from '../components/goods/Cate.vue'
import Params from '../components/goods/Params.vue'
Vue.use(VueRouter)

const routes = [
  {path:'/',redirect:'/login'},
  {path:'/login',component:Login},
  {path:'/home',component:Home,redirect:'/welcome',children:[
    {path:'/welcome',component:Welcome},
    {path:'/users',component:Users},
    {path:'/rights',component:Rights},
    {path:'/roles',component:Roles},
    {path:'/categories',component:Cate},
    {path:'/params',component:Params}
  ]}
]

const router = new VueRouter({
  routes
})
// 挂在路由导航守卫
router.beforeEach((to,from,next)=>{
  // to将要访问的路径
  // from 代表从哪个路径跳转而来
  // next是一个函数，表示放行
  // next('/login') 强制跳转
  // 如果用户访问的是登录页，直接return 放行
  if(to.path==='/login') return next();
  // 没有被放行，说明用户访问的不是登录页 需要去token 判断token
  const tokenStr=window.sessionStorage.getItem('token')
  if(!tokenStr) return next('login')
  // 如果没有被return出去
  next()

})
export default router
